package com.southminority.ethnic.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * 学生获奖表
 * @TableName student_award
 */
@EqualsAndHashCode(callSuper = true)
@TableName(value = "student_award")
@Data
@Schema(description = "学生获奖实体")
public class StudentAward extends BasePoJo implements Serializable {
    
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    @Schema(description = "主键ID")
    private Long id;

    /**
     * 获奖项目名称
     */
    @Schema(description = "获奖项目名称")
    private String title;

    /**
     * 获奖学生姓名
     */
    @Schema(description = "获奖学生姓名")
    private String studentName;

    /**
     * 学生ID（关联用户表）
     */
    @Schema(description = "学生ID")
    private Long studentId;

    /**
     * 获奖等级（如：国家级一等奖）
     */
    @Schema(description = "获奖等级")
    private String awardLevel;

    /**
     * 奖项类型（如：学术竞赛、科研成果）
     */
    @Schema(description = "奖项类型")
    private String awardType;

    /**
     * 获奖时间
     */
    @Schema(description = "获奖时间")
    private LocalDate awardDate;

    /**
     * 指导教师
     */
    @Schema(description = "指导教师")
    private String instructor;

    /**
     * 获奖详情描述
     */
    @Schema(description = "获奖详情描述")
    private String description;

    /**
     * 获奖证书/图片URL
     */
    @Schema(description = "证书图片URL")
    private String imageUrl;

    /**
     * 证书编号
     */
    @Schema(description = "证书编号")
    private String certificateNo;

    /**
     * 颁发单位
     */
    @Schema(description = "颁发单位")
    private String issuingUnit;

    /**
     * 浏览次数
     */
    @Schema(description = "浏览次数")
    private Integer views;

    /**
     * 状态（0：草稿；1：已发布；2：已下架）
     */
    @Schema(description = "状态")
    private Integer status;

    private static final long serialVersionUID = 1L;
}
